FROM golang:alpine

# 为我们的镜像设置必要的环境变量
ENV GO111MODULE=on
ENV GOPROXY=https://goproxy.io,direct
ENV GO111MODULE=on CGO_ENABLED=0 GOOS=linux GOARCH=amd64

# 转移到build目录
WORKDIR /build

# 复制到容器
COPY . .

# 将我们的代码编译成二进制可执行文件app
RUN go build -o bubble .

# 移动到用于存放生成的二进制文件的 /dist 目录
WORKDIR /dist

# 将二进制文件和配置文件从 /build 目录复制到这里
RUN cp /build/bubble .
RUN cp -r templates .
RUN cp -r /build/conf .

# 声明服务端口
EXPOSE 8888

# 启动容器时运行的命令
CMD ["/dist/bubble", "/dist/conf/config.ini"]